1. Field of the Invention
The present invention relates generally to data routing systems, and more particularly, to systems and methods for improving memory utilization during packet forwarding in data routing systems.
2. Description of Related Art
Conventional networks typically include routers that route packets from one or more sources to one or more destinations. A packet is a format in which data can be transmitted through a network. A router is a switching device that receives packets containing data or control information at input ports and, based on destination or other information included in the packets, routes the packets through output ports to the destinations or intermediary destinations. Conventional routers determine the proper output port for a particular packet by evaluating header information included in the packet.
Conventional routers include packet forwarding engines and switch fabrics for receiving and forwarding incoming packets to their intended destinations. To forward incoming packets from an input port to an output port, routers typically must perform complex data manipulation actions. Such data manipulation actions include storing and retrieving encapsulation data required for constructing outgoing packet headers and forwarding outgoing packets. Conventionally, the encapsulation data utilized in packet forwarding is stored in memory, such as SRAM. Unfortunately, SRAM density has not increased to keep up with the steadily increasing memory demands of the router. Thus, as the memory demands of the router increase, the need for improved data structures for preserving memory space has become very important.
Therefore, there exists a need for improved data structures and memory utilization mechanisms in router packet forwarding processes that can conserve memory space and, thereby, reduce memory demands on router memory.